package com.example.m2m.mapper;

import com.example.m2m.pojo.Role;
import com.example.m2m.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author 宋伟宁
 * @Date 2023/9/6
 * @Version 1.0
 **/
public interface UserMapper {

    /**
     * 用户列表
     * @return
     */
    List<User> users();

    /**
     * 登录
     * @param name
     * @param pwd
     * @return
     */
    User login(String name,String pwd);

    /**
     * 根据用户id获取该用户的角色
     * @param id
     * @return
     */
    List<Role> findRolesByUser(int id);

    /**
     * 新增用户
     * @param user
     * @return
     */
    int addUser(User user);

    /**
     * 新增用户角色
     * @param uid
     * @param ids
     * @return
     */
    int addUserRole(@Param("uid")int uid,@Param("arr")String[] ids);

    /**
     * 角色列表
     * @return
     */
    List<Role> roles();

    /**
     * 删除中间表
     * @param arr
     * @return
     */
    int deleteMiddle(@Param("arr") String[] arr);

    /**
     * 根据id删除用户
     * @param arr
     * @return
     */
    int delUser(@Param("arr")String[] arr);

    User findUserById(String id);

    int updateUser(User user);

    int delUseruid(Integer id);
}
